package com.kinghood.productcenter.common.model.dto.product;

import com.kinghood.productcenter.common.model.dao.base.BaseAttributeValueDO;
import com.kinghood.productcenter.common.model.dto.base.AttributeReqDTO;
import com.kinghood.productcenter.common.model.dto.base.AttributeValueReqDTO;
import com.kinghood.productcenter.common.model.dto.base.ValueListByAttributeIdDTO;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * description
 *
 * @author zhangFanJun
 * @date 2023-12-28 20:01
 **/
@Data
public class ProductTemplateNodeAttributeDTO implements Serializable {


    private Long id;
    /**
     * 分组id
     */
    private Long groupId;
    /**
     * 上级id，用于规则触发时展示
     */
    private Long parentId;
    /**
     * 属性id
     * */
    private Long attributeId;
    /**
     * 0：没有自动填充，1：自动填充
     */
    private Integer autofill;
    /**
     * 默认值
     */
    private String defaultValue;
    /**
     * 填充值
     * */
    private String value;
    /**
     * 是否必填（0：否，1：是）
     */
    private Integer required;
    /**
     * 规则id
     */
    private Long ruleId;
    /**
     * 排序值
     */
    private Integer sort;
    /**
     * 属性编码
     */
    private String attributeCode;
    /**
     * 属性名
     */
    private String attributeName;
    /**
     * 属性编码（表示数字，日期）
     */
    private String valueCode;
    /**
     * 0：填写值，1，下拉列
     */
    private Integer valueType;
    /**
     * 下拉时，能否多选（0：不能，1：能）
     */
    private Integer isMultipleChoice;
    /**
     * 筛选列
     * */
    private Integer isFilter;
    /**
     * 属性类别 1：系统预设，2：自定义
     */
    private Integer attributeType;
    /**
     * 内容大小
     */
    private Double size;
    /**
     * 最小值
     */
    private Double minValue;
    /**
     * 最大值
     */
    private Double maxValue;
    /**
     * 小数位
     */
    private Double scale;
    /**
     * 时间格式是否包含时分秒，也就是yyyy-MM-dd HH:mm:ss
     */
    private Integer timeFormatFull;
    /**
     * 单位
     */
    private String unit;
    /**
     * 下拉列
     * */
    private List<ValueListByAttributeIdDTO> valueList;

    /**
     * 触发条件
     * */
    private String triggerValue;

    /**
     * 触发条件值
     */
    private String triggerValueTxt;
    /**
     * 绑定方的属性code
     * */
    private String triggerAttributeCode;
    /**
     * 绑定方的值类型
     * */
    private String triggerValueCode;
    /**
     * 下拉时，能否多选（0：不能，1：能）
     */
    private Integer triggerIsMultipleChoice;

    /**
     * 被绑定属性
     * */
    private List<ProductTemplateNodeAttributeDTO> triggerList;
}
